import request from '@/sheep/request';

// 轮胎存单 VO
export interface DepositRecordsVO {
  id: string // 取胎记录ID，主键
  storeId: string // 门店ID
  licensePlate: string // 车牌号
  contactNumber: string // 联系人手机号
  startDate: Date // 开始存胎日期
  storageDays: number // 存放月数
  storageType: string // 存储类型（0普存、1精存）
  warehouseId: string // 存放仓库ID
  warehouseDetail: string // 存放详细位置
  expirationDate: Date // 到期时间
  createTime: Date // 创建时间
  notes: string // 备注信息
  status: string // 存胎状态，0 草稿，1 已预约，2 已接单，3 已接收，4 已入库
  depositRecordsDetails:[],
  storageQuantity:number,// 存储数量
  remainingQuantity:number,// 剩余数量
}

// 轮胎存单 API
export const DepositRecordsApi = {
  // 查询轮胎存单分页
  getDepositRecordsPage: async (data: any) => {
    let url = '/tire/deposit-records/page?';
    if (data) {
      for (let key in data) {
        const value = data[key];
        if (Array.isArray(value)) {
          value.forEach(val => {
            url += `${key}=${val}&`;
          });
        } else {
          url += `${key}=${value}&`;
        }
      }
    }
    // 去掉最后一个多余的 "&"
    url = url.slice(0, -1);
    return await request({ url, method: 'GET' });
  },

  // 查询主页统计数据（存单入库数量、入库轮胎剩余数量）
  getIndexPageTotalQuantity: async (data: any) => {
    let url = '/tire/deposit-records/getIndexPageTotalQuantity?';
    if (data) {
      for (let key in data) {
        const value = data[key];
        if (Array.isArray(value)) {
          value.forEach(val => {
            url += `${key}=${val}&`;
          });
        } else {
          url += `${key}=${value}&`;
        }
      }
    }
    // 去掉最后一个多余的 "&"
    url = url.slice(0, -1);
    return await request({ url, method: 'GET' });
  },

  // 查询轮胎存单详情
  getDepositRecords: async (id: number) => {
    return await request({ url: `/tire/deposit-records/get?id=` + id,method: 'GET' })
  },

  // 新增轮胎存单
  createDepositRecords: async (data: DepositRecordsVO) => {
    return await request({ url: `/tire/deposit-records/create`,method: 'POST', data })
  },

  // 修改轮胎存单
  updateDepositRecords: async (data: DepositRecordsVO) => {
    return await request({ url: `/tire/deposit-records/update`,method: 'PUT', data })
  },

  // 删除轮胎存单
  deleteDepositRecords: async (id: number) => {
    return await request({ url: `/tire/deposit-records/delete?id=` + id,method: 'DELETE' })
  },

// ====== 子表（轮胎存单明细） ======

  // 获得轮胎存单明细列表
  getDepositRecordsDetailListByTireDepositRecordsId: async (tireDepositRecordsId) => {
    return await request({ url: `/tire/deposit-records/deposit-records-detail/list-by-tire-deposit-records-id?tireDepositRecordsId=` + tireDepositRecordsId,method: 'GET' })
  }
}
